package com.game.frame.GameFrame.GameFrameMain;

import com.game.utils.NumberUtils;

import java.awt.*;

public class GameCore {
    // 游戏面板
    private GamePanel gamePanel;
    // 存储分数
    private int score = 0;
    // 游戏开始时间
    private long startTime;
    // 当前时间
    private long currentTime;

    public GameCore(GamePanel panel, int score) {
        this.gamePanel = panel;
        this.score = score;
        this.startTime = System.currentTimeMillis();    // 获取游戏开始的时间
    }

    public void addScore(int score) {
         this.score += score;
    }

    public int getScore() {
        return score;
    }

    public void updateTime() {
        this.currentTime = System.currentTimeMillis();
    }

    // 获取游戏时间（以秒为单位）
    public int getGameTime() {
        return (int)((currentTime - startTime) / 1000);
    }

    // 绘制分数和时间
    public void draw(Graphics g) {
        // 绘制分数
        g.drawImage(NumberUtils.getNumberImage(String.valueOf(score), null) , 400, 60, null);

        // 绘制时间（右上角）
        String timeStr = String.format("时间: %02d:%02d", getGameTime() / 60, getGameTime() % 60);
        FontMetrics metrics = g.getFontMetrics();
        int timeWidth = metrics.stringWidth(timeStr);
        g.drawString(timeStr, 700, 60);
    }
}
